#pragma once

#include <stack>
#include "deque.hpp"
#include "memory_allocator.hpp"
#include "ned_pool.hpp"

namespace cpac
{

	// Custom stack template.
	//--------------------------------------
	// Usage is cpac::stack<int>::type int_stack;
	// This container specifies a default allocator for us, but we could of course
	// pass it another one if we need to.
	template
        <
            typename _Type, 
            typename _Container = deque< _Type >::type 
        > 
	struct stack 
	{
		typedef std::stack< _Type, _Container > type;
	};
	//--------------------------------------

}
